package com.sum.slike.utils;

import ohos.agp.window.service.Display;
import ohos.agp.window.service.DisplayManager;
import ohos.app.Context;
/**
 * @author: zhu_zhonglin
 * @time: 2021/4/26
 */
public class PixelUtil {
    private static Display display;

    /**
     * 初始化context
     * @param context context
     */
    public static void initContext(Context context) {
        display = DisplayManager.getInstance().getDefaultDisplay(context).get();
    }

    /**
     * 获取屏幕宽度
     * @return screenWidth 屏幕宽度
     */
    public static int screenWidth() {
        return display.getAttributes().width;
    }

    /**
     * 获取屏幕高度
     * @return screenHeight 屏幕高度
     */
    public static int screenHeight() {
        return display.getAttributes().height;
    }

    /**
     * fp转px
     * @param fp fp
     * @return px 像素
     */
    public static float fp2px(float fp) {
        double sca = display.getAttributes().scalDensity;
        return (int) (fp * sca + 0.5f * (fp >= 0 ? 1 : -1));
    }

    /**
     * vp转px
     * @param vp vp
     * @return px 像素
     */
    public static float vp2px(float vp) {
        double dpi = display.getAttributes().densityPixels;
        return (int) (vp * dpi + 0.5f * (vp >= 0 ? 1 : -1));
    }
}
